home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Sound / AmySequencer / MIDIConstants.text < prev    next >
Text File  |  2002-10-27  |  7KB  |  293 lines

  1. ;-> MIDIConstants by Siefano Maria Regattin
  2. ;d> 27 Febbraio 2002 da MIDIDefs.h
  3. ;m> 1,15,16 marzo 2002
  4. ;m> 10 aprile 2002
  5. ;------------------
  6.  
  7. ;***************
  8. ;* C. A. M. D. *
  9. ;******************************************************
  10. ;* CMU AMIGA Midi Driver - Carnegie Mellon University *
  11. ;******************************************************
  12. ;* 1988 - Commodore AMIGA *
  13. ;***********************************************
  14. ;* Design & Development  - Roger B. Dannenberg *
  15. ;***********************************************
  16. ;* - Jean-Christophe Dhellemmes *
  17. ;********************************
  18. ;* - Bill Barton *
  19. ;*********************************************
  20. ;* Copyright 1989 Carnegie Mellon University *
  21. ;*********************************************
  22.  
  23. ;****************
  24. ;*              *
  25. ;* Status Bytes *
  26. ;*              *
  27. ;****************
  28.  
  29. ;* channel voice messages (1sssnnnn) (OR with channel number) *
  30. #_NoteOff=-128;             $80
  31. #_NoteOn=-112;              $90
  32. #_PolyphonicKeyPressure=-96;$A0
  33. #_ControlChange=-80;        $B0
  34. #_Mode=-80;                 $B0
  35. #_ProgramChange=-64;        $C0
  36. #_ChannelKeyPressure=-48;   $D0
  37. #_PitchBend=-32;            $E0
  38.  
  39. #_StatusBits=-16;           $F0
  40. #_ChannelBits=%1111;        $0F
  41.  
  42. ;* system common messages (11110sss) *
  43. #_System=-16 ;* min system status byte *
  44. #_SystemExclusive=-16;      $F0
  45. #_QtrFrame=-15;             $F1
  46. #_SongPos=-14;              $F2
  47. #_SongSelect=-13;           $F3
  48. #_TuneReq=-10;              $F6
  49. #_EOX=-9;                   $F7
  50.  
  51. ;* system real time messages (11111sss) *
  52. #_RealTime=$F8 ;* Min real time status byte */
  53. #_Clock=-8;                 $F8
  54. #_Start=-6;                 $F9
  55. #_Continue=-5;              $FA
  56. #_Stop=-4;                  $FB
  57. #_ActiveSense=-2;           $FE
  58. #_Reset=-1;                 $FF
  59.  
  60.  
  61. ;************************
  62. ;*                      *
  63. ;* Standard Controllers *
  64. ;*                      *
  65. ;************************
  66.  
  67. ;* Continuous 14 bit - MSB: 0-1f, LSB: 20-3f */
  68. #_Bank=$00
  69. #_ModulationWheel=$01
  70. #_Breath=$02
  71. #_Foot=$04
  72. #_PortaTime=$05
  73. #_DataEntry=$06
  74. #_Volume=$07
  75. #_Balance=$08
  76. #_Pan=$0A
  77. #_Expression=$0B
  78. #_GeneralOne=$10
  79. #_GeneralTwo=$11
  80. #_GeneralThree=$12
  81. #_GeneralFour=$13
  82.  
  83. ;* Continuous 7 bit (switches: 0-3f=Off, 40-7f=On) */
  84. #_Sustain=$40
  85. #_Portamento=$41
  86. #_Sostenuto=$42
  87. #_SoftPedal=$43
  88. #_HoldTwo=$45
  89. #_GeneralFive=$50
  90. #_GeneralSix=$51
  91. #_GeneralSeven=$52
  92. #_GeneralEight=$53
  93. #_ExtDepth=$5B
  94. #_TremoloDepth=$5C
  95. #_ChorusDepth=$5D
  96. #_CelesteDepth=$5E
  97. #_PhaserDepth=$5f
  98.  
  99. ;* Parameters *
  100. #_DataInc=$60
  101. #_DataDec=$61
  102. #_NRPNL=$62
  103. #_NRPNH=$63
  104. #_RPNL=$64
  105. #_RPNH=$65
  106.  
  107. #_ControllerMaxValue=$78
  108.  
  109. ;*****************
  110. ;*               *
  111. ;* Channel Modes *
  112. ;*               *
  113. ;*****************
  114.  
  115. #_MinModeValue=$79
  116.  
  117. #_ResetCtrl=$79
  118. #_Local=$7A
  119. #_AllNotesOff=$7B
  120. #_OmniOff=$7C
  121. #_OmniOn=$7D
  122. #_Mono=$7E
  123. #_Poly=$7F
  124.  
  125.  
  126. ;********************************
  127. ;*                              *
  128. ;* Registered Parameter Numbers *
  129. ;*                              *
  130. ;********************************************************************************
  131. ;* these are 16 bit values that need To be separated into two bytes for use with
  132. ;* the _RPNH & _RPNL messages using 8 bit math (hi=MRP>>8,lo=MRP_&$ff) as opposed To 7
  133. ;* bit math.  This is done so that the defines match the
  134. ;* numbers from the MMA.
  135. ;* See MIDI 1.0 Detailed Spec v4.0 pp 12, 23 For more info.
  136. ;***********************************************************
  137.  
  138. #_PBSens=$0000
  139. #_FineTune=$0001
  140. #_CourseTune=$0002
  141.  
  142.  
  143. ;******************************
  144. ;*                            *
  145. ;* MTC Quarter Frame messages *
  146. ;*                            *
  147. ;*****************************************
  148. ;* Qtr Frame message is F1 0nnndddd where
  149. ;*
  150. ;* nnn is a message Type defined below
  151. ;* dddd is 4 bit Data nibble For those message types
  152. ;*
  153. ;* Each pair of nibbles is combined by the receiver into a single byte.
  154. ;* there are masks and type values defined for some of these Data bytes below.
  155. ;******************************************************************************
  156.  
  157. ;* Message Types *
  158. #_FrameL=$00
  159. #_FrameH=$10
  160. #_SecL=$20
  161. #_SecH=$30
  162. #_MinL=$40
  163. #_MinH=$50
  164. #_HourL=$60
  165. #_HourH=$70 ;* also contains time code type *
  166.  
  167. ;* Message Masks */
  168. #_TypeMask=%01110000 ;* mask for type bits in message *
  169. #_DataMask=%00001111 ;* mask for data bits in message *
  170.  
  171. ;* Hour Byte */
  172. #_HourTypeMask=$60 ;* mask for time code type *
  173. #_HourMask=$1f ;* hours mask (range 0-23) *
  174.  
  175. ;* Time code Type values For hour byte */
  176. #_24FramesPerSecond=$00
  177. #_25FramesPerSecond=$20
  178. #_30FramesPerSecondDrop=$40
  179. #_30FramesPerSecondNoDrop=$60
  180.  
  181. ;*********************
  182. ;*                   *
  183. ;* Sys/Ex ID numbers *
  184. ;*                   *
  185. ;********************************************************
  186. ;* now includes 3 byte extension For the American Group.
  187. ;* this new format uses a $00 as the sys/ex id followed by two additional bytes
  188. ;* that actually identify the manufacturer.
  189. ;* these new extended id constants are 32 bit values with 24 significant bits.
  190. ;******************************************************************************
  191.  
  192. ;* north american group (1 byte) *
  193. #_MID_Sequential=$01
  194. #_MID_IDP=$02
  195. #_MID_OctavePlateau=$03
  196. #_MID_Moog=$04
  197. #_MID_Passport=$05
  198. #_MID_Lexicon=$06
  199. #_MID_Kurzweil=$07
  200. #_MID_Fender=$08
  201. #_MID_Gulbransen=$09
  202. #_MID_AKG=$0A
  203. #_MID_Voyce=$0B
  204. #_MID_Waveframe=$0C
  205. #_MID_ADA=$0D
  206. #_MID_Garfield=$0E
  207. #_MID_Ensoniq=$0F
  208. #_MID_Oberheim=$10
  209. #_MID_Apple=$11
  210. #_MID_GreyMatte=$12
  211. #_MID_PalmTree=$14
  212. #_MID_JLCooper=$15
  213. #_MID_Lowrey=$16
  214. #_MID_AdamsSmith=$17
  215. #_MID_Emu=$18
  216. #_MID_Harmony=$19
  217. #_MID_ART=$1A
  218. #_MID_Baldwin=$1B
  219. #_MID_Eventide=$1C
  220. #_MID_Inventronics=$1D
  221. #_MID_Clarity=$1F
  222.  
  223. ;* north american group (3 bytes) *
  224. #_MID_XAmerica=$00 ;* north american 3 bytes prefix *
  225.  
  226. #_MIDX_DigitalMusic=$000007
  227. #_MIDX_Iota=$000008
  228. #_MIDX_Artisyn=$00000A
  229. #_MIDX_IVL=$00000B
  230. #_MIDX_SouthernMusic=$00000C
  231. #_MIDX_LakeButler=$00000D
  232. #_MIDX_DOD=$000010
  233. #_MIDX_PerfectFret=$000014
  234. #_MIDX_KAT=$000015
  235. #_MIDX_Opcode=$000016
  236. #_MIDX_Rane=$000017
  237. #_MIDX_SpatialSound=$000018
  238. #_MIDX_KMX=$000019
  239. #_MIDX_Brenell=$00001A
  240. #_MIDX_Peavey=$00001B
  241. #_MIDX_360=$00001C
  242. #_MIDX_Axxes=$000020
  243. #_MIDX_CAE=$000026
  244. #_MIDX_Cannon=$00002B
  245. #_MIDX_BlueSkyLogic=$00002E
  246. #_MIDX_Voce=$000031
  247.  
  248. ;* european group */
  249. #_MID_SIEL=$21
  250. #_MID_Synthaxe=$22
  251. #_MID_Hohner=$24
  252. #_MID_Twister=$25
  253. #_MID_Solton=$26
  254. #_MID_Jellinghaus=$27
  255. #_MID_Southworth=$28
  256. #_MID_PPG=$29
  257. #_MID_JEN=$2A
  258. #_MID_SSL=$2B
  259. #_MID_AudioVeritrieb=$2C
  260. #_MID_Elka=$2F
  261. #_MID_Dynacord=$30
  262. #_MID_Clavia=$33
  263. #_MID_Soundcraft=$39
  264.  
  265. ;* japanese group */
  266. #_MID_Kawai=$40
  267. #_MID_Roland=$41
  268. #_MID_Korg=$42
  269. #_MID_Yamaha=$43
  270. #_MID_Casio=$44
  271. #_MID_Kamiya=$46
  272. #_MID_Akai=$47
  273. #_MID_JapanVictor=$48
  274. #_MID_Mesosha=$49
  275.  
  276. ;* universal ID Numbers *
  277. #_MID_UNC=$7D
  278. #_MID_UNRT=$7E
  279. #_MID_URT=$7f
  280.  
  281. ;*****************
  282. ;*               *
  283. ;* Miscellaneous *
  284. ;*               *
  285. ;*****************
  286.  
  287. #_MiddleC=60 ;* Middle C note value *
  288. #_DefaultVelocity=64 ;* default note ON or OFF velocity *
  289. #_PitchBendCenter=$2000 ;* pitch bend center position as a 14 bit word *
  290. #_MClksPerQtr=24  ;* MIDI clocks per quarter note *
  291. #_MClksPerSP=6 ;* MIDI clocks per song position index *
  292. #_PanAndSimilarCenter=64 ;* center value for controllers like pan and balance *
  293.